//! Packets sent from server to client;

use super::*;

mod login;
mod play;
mod status;

pub use login::*;
pub use play::*;
pub use status::*;

packet_enum!(ServerStatusPacket {
    0x00 = Response,
    0x01 = Pong,
});

packet_enum!(ServerLoginPacket {
    0x00 = DisconnectLogin,
    0x01 = EncryptionRequest,
    0x02 = LoginSuccess,
    0x03 = SetCompression,
    0x04 = LoginPluginRequest,
});

packet_enum!(ServerPlayPacket {
    0x00 = SpawnEntity,
    0x01 = SpawnExperienceOrb,
    0x02 = SpawnLivingEntity,
    0x03 = SpawnPainting,
    0x04 = SpawnPlayer,
    0x05 = EntityAnimation,
    0x06 = Statistics,
    0x07 = AcknowledgePlayerDigging,
    0x08 = BlockBreakAnimation,
    0x09 = BlockEntityData,
    0x0A = BlockAction,
    0x0B = BlockChange,
    0x0C = BossBar,
    0x0D = ServerDifficulty,
    0x0E = ChatMessage,
    0x0F = TabComplete,
    0x10 = DeclareCommands,
    0x11 = WindowConfirmation,
    0x12 = CloseWindow,
    0x13 = WindowItems,
    0x14 = WindowProperty,
    0x15 = SetSlot,
    0x16 = SetCooldown,
    0x17 = PluginMessage,
    0x18 = NamedSoundEffect,
    0x19 = Disconnect,
    0x1A = EntityStatus,
    0x1B = Explosion,
    0x1C = UnloadChunk,
    0x1D = ChangeGameState,
    0x1E = OpenHorseWindow,
    0x1F = KeepAlive,
    0x20 = ChunkData,
    0x21 = Effect,
    0x22 = Particle,
    0x23 = UpdateLight,
    0x24 = JoinGame,
    0x25 = MapData,
    0x26 = TradeList,
    0x27 = EntityPosition,
    0x28 = EntityPositionAndRotation,
    0x29 = EntityRotation,
    0x2A = EntityMovement,
    0x2B = VehicleMove,
    0x2C = OpenBook,
    0x2D = OpenWindow,
    0x2E = OpenSignEditor,
    0x2F = CraftRecipeResponse,
    0x30 = PlayerAbilities,
    0x31 = CombatEvent,
    0x32 = PlayerInfo,
    0x33 = FacePlayer,
    0x34 = PlayerPositionAndLook,
    0x35 = UnlockRecipes,
    0x36 = DestroyEntities,
    0x37 = RemoveEntityEffect,
    0x38 = ResourcePack,
    0x39 = Respawn,
    0x3A = EntityHeadLook,
    0x3B = MultiBlockChange,
    0x3C = SelectAdvancementTab,
    0x3D = WorldBorder,
    0x3E = Camera,
    0x3F = HeldItemChange,
    0x40 = UpdateViewPosition,
    0x41 = UpdateViewDistance,
    0x42 = SpawnPosition,
    0x43 = DisplayScoreboard,
    0x44 = SendEntityMetadata,
    0x45 = AttachEntity,
    0x46 = EntityVelocity,
    0x47 = EntityEquipment,
    0x48 = SetExperience,
    0x49 = UpdateHealth,
    0x4A = ScoreboardObjective,
    0x4B = SetPassengers,
    0x4C = Teams,
    0x4D = UpdateScore,
    0x4E = TimeUpdate,
    0x4F = Title,
    0x50 = EntitySoundEffect,
    0x51 = SoundEffect,
    0x52 = StopSound,
    0x53 = PlayerListHeaderAndFooter,
    0x54 = NbtQueryResponse,
    0x55 = CollectItem,
    0x56 = EntityTeleport,
    0x57 = Advancements,
    0x58 = EntityProperties,
    0x59 = EntityEffect,
    0x5A = DeclareRecipes,
    0x5B = AllTags,
});
